home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD024b.dsk / MENU.bas < prev    next >
BASIC Source File  |  2003-06-12  |  7KB  |  146 lines

  1. 1000  REM   PROGRAM:HARVEST MENU
  2. 1010  PRINT  CHR$(4)"BLOADMENU.SCROLL"
  3. 1015  TEXT : FLASH : HTAB 8: PRINT "PRESS SPACE BAR FOR MENU";: GET K$: PRINT K$: NORMAL 
  4. 1020  DIM SC%(2):SC%(1) = 834:SC%(0) =  -912:IN = 896
  5. 1030  DIM P$(100),C$(100),T$(100),M$(200):TP = 34:BOT = 35
  6. 1040  TEXT : HOME : SPEED= 255
  7. 1050 V = 12:SC = 0
  8. 1060 RS = 0:AS = 0
  9. 1070  GOSUB 40000
  10. 1080  POKE TP,4: POKE BOT,18
  11. 1090  FOR CT = 0 TO 100: READ P$(CT): READ C$(CT): READ T$(CT): IF P$(CT) < >"END"  THEN  NEXT 
  12. 1100 P$(CT) = ""
  13. 1110 CT = CT -1
  14. 1120  GOSUB 37000
  15. 1130  GOSUB 34000
  16. 1140  ON SC +1 GOSUB 36000,35000
  17. 1150 AS = 1
  18. 10000  INVERSE :VP = V:A$ = P$(P): GOSUB 30000: NORMAL 
  19. 10010  GOSUB 38000
  20. 10020  GOSUB 30000
  21. 10030  IF KB = 32  THEN  GOSUB 41000: GOSUB 49000: GOSUB 34000:KB = 0
  22. 10040  IF KB = 13  THEN  GOSUB 45000:KB = 0
  23. 10050  IF KB = 8  THEN V$ = " ABOUT ": GOSUB 32000:KB = 0
  24. 10060  IF KB = 21  THEN V$ = " ABOUT ": GOSUB 33000:KB = 0
  25. 10070  IF KB = 27  THEN  GOSUB 19000
  26. 10080  IF KB  THEN SC =   NOT SC: ON SC +1 GOSUB 36000,35000
  27. 10090  GOTO 10000
  28. 18999  REM   <CTRL-J>CLOSING SCREEN<CTRL-J>
  29. 19000  TEXT : HOME : PRINT : PRINT "<CTRL-D>RUNHELLO"
  30. 19999  REM   <CTRL-J>BUMP<CTRL-J>
  31. 20000 SK = 49200: FOR SJ = 1 TO 4: FOR SH = SJ TO 5:SG =  PEEK(SK) - PEEK(SK) + PEEK(SK): NEXT SH,SJ
  32. 20010 BC = BC +1: IF BC >2  THEN SC =   NOT SC: ON SC +1 GOSUB 36000,35000
  33. 20090  RETURN 
  34. 29998  END 
  35. 29999  REM   <CTRL-J>HOR CENTER @ VP<CTRL-J>
  36. 30000  VTAB VP: HTAB 20 - LEN(A$)/2: PRINT A$;: RETURN 
  37. 30999  REM   <CTRL-J>LINE OF -<CTRL-J>
  38. 31000  FOR A = 1 TO 40: PRINT "-";: NEXT : RETURN 
  39. 31999  REM  <CTRL-J>RUN SELECTED<CTRL-J>
  40. 32000 RS = 1: VTAB 3: HTAB 2: INVERSE : PRINT " RUN ";: HTAB 32: NORMAL : PRINT V$;: HTAB 8: PRINT "<==";: HTAB 28: PRINT "   ";:AS = 0: RETURN 
  41. 32999  REM  <CTRL-J>ABOUT SELECTED<CTRL-J>
  42. 33000 AS = 1: VTAB 3: HTAB 32: INVERSE : PRINT V$;: HTAB 2: NORMAL : PRINT " RUN ";: HTAB 28: PRINT "==>";: HTAB 8: PRINT "   ";:RS = 0: RETURN 
  43. 33999  REM  <CTRL-J>CATEGORY<CTRL-J>
  44. 34000 VP = 3:A$ = T$(P): GOSUB 30000: RETURN 
  45. 34999  REM  <CTRL-J>SCROLL DOWN SELECTED<CTRL-J>
  46. 35000  VTAB 21: HTAB 37: PRINT "/!\";: VTAB 23: HTAB 37: PRINT " ! ";: RETURN 
  47. 35999  REM  <CTRL-J>SCROLL UP SELECTED<CTRL-J>
  48. 36000  VTAB 21: HTAB 37: PRINT " ! ";: VTAB 23: HTAB 37: PRINT "\!/";: RETURN 
  49. 36999  REM  <CTRL-J>INITIALIZE SCROLL SCN<CTRL-J>
  50. 37000 B = 3: FOR A = P +1 TO P +7:VP = (B) *2:A$ = P$(A): GOSUB 30000:B = B +1: NEXT :P = 4: RETURN 
  51. 37999  REM  <CTRL-J>KET KEYPRESS<CTRL-J>
  52. 38000 KB =  PEEK(49152): IF KB >127  THEN KB = KB -128: POKE 49168,0: GOTO 38020
  53. 38010  GOTO 38000
  54. 38020  RETURN 
  55. 39999  REM  <CTRL-J>DRAW FULL SCREEN<CTRL-J>
  56. 40000  HOME :V$ = " ABOUT "
  57. 40010 A$ = "OCT 83 SOFTDISK HARVEST":VP = 1: GOSUB 30000
  58. 40020  GOSUB 33000
  59. 40030  HTAB 1: VTAB 4: GOSUB 31000
  60. 40040  HTAB 1: VTAB 19: GOSUB 31000
  61. 40050  PRINT "ARROWS SELECT RUN/ABOUT"
  62. 40060  PRINT "SPACE BAR SCROLLS"
  63. 40070  PRINT "ANY KEY REVERSES SCROLL DIRECTION"
  64. 40080  PRINT "<RETURN> GROKS HIGHLIGHTED ITEMS"
  65. 40090  PRINT "<ESC> TO ESCAPE";
  66. 40100  VTAB 20: HTAB 38: PRINT ".": FOR A = 21 TO 23: VTAB A: HTAB 38: PRINT "!": NEXT : VTAB 24: HTAB 38: PRINT "'";
  67. 40110  VTAB V
  68. 40120  RETURN 
  69. 40999  REM  <CTRL-J>SCROLLING<CTRL-J>
  70. 41000  ON SC +1 GOSUB 42000,43000
  71. 41090  RETURN 
  72. 41999  REM  <CTRL-J>SCROLL UP<CTRL-J>
  73. 42000  IF P > = CT  THEN  GOSUB 20000: GOTO 42090
  74. 42010  GOSUB 44100
  75. 42020  GOSUB 44000
  76. 42030 P = P +1:BC = 0
  77. 42040 VP = 18:A$ = P$(P +3): GOSUB 30000
  78. 42090  RETURN 
  79. 42999  REM  <CTRL-J>SCROLL DOWN<CTRL-J>
  80. 43000  IF P < = 4  THEN  GOSUB 20000: GOTO 43090
  81. 43010  GOSUB 44100
  82. 43020  GOSUB 44000
  83. 43030 P = P -1:BC = 0
  84. 43040 VP = 6:A$ = P$(P -3): GOSUB 30000
  85. 43090  RETURN 
  86. 43999  REM  <CTRL-J>DO SCROLL<CTRL-J>
  87. 44000  CALL SC%(SC): CALL SC%(SC)
  88. 44090  RETURN 
  89. 44099  REM  <CTRL-J>BLANK INVERSE P$<CTRL-J>
  90. 44100 VP = V:A$ = P$(P): GOSUB 30000: RETURN 
  91. 44999  REM  <CTRL-J>EXECUTIVE<CTRL-J>
  92. 45000  IF AS  THEN  GOSUB 46000
  93. 45010  IF RS  THEN  GOSUB 47000
  94. 45020  RETURN 
  95. 45999  REM  <CTRL-J>READ T.FILE<CTRL-J>
  96. 46000  HOME : PRINT 
  97. 46010  ONERR  GOTO 46060
  98. 46020  PRINT  CHR$(4)"OPEN ABOUT."P$(P)
  99. 46030  PRINT  CHR$(4)"READ ABOUT."P$(P)
  100. 46040  FOR A = 0 TO 200: CALL IN,M$(A): IF M$(A) < >"!"  THEN  NEXT 
  101. 46060 CM = A -1: POKE 216,0: IF   NOT CM  THEN CM = 199
  102. 46070  PRINT : PRINT  CHR$(4)"CLOSE"
  103. 46080  GOSUB 48000: ONERR  GOTO 46100
  104. 46090 PS = P:P = P -4: TEXT :V$ = " ABOUT ": GOSUB 40000: POKE TP,4: POKE BOT,18: GOSUB 37000:P = PS: ON SC +1 GOSUB 36000,35000: GOSUB 49000: GOSUB 34000: RETURN 
  105. 46100  RUN 1020
  106. 46999  REM  <CTRL-J>RUN IT<CTRL-J>
  107. 47000  HOME : VTAB V: PRINT C$(P): TEXT : PRINT  CHR$(4);C$(P)
  108. 47999  REM  <CTRL-J>ABOUT.TEXT<CTRL-J>
  109. 48000  VTAB 3: HTAB 1: PRINT  SPC( 27);: HTAB 12: PRINT  LEFT$(P$(P),15);:V$ = " MENU  ": GOSUB 33000
  110. 48010  VTAB 20: HTAB 19: PRINT V$;: VTAB 24: HTAB 1: PRINT "PRESS H FOR HARDCOPY";
  111. 48020  HOME : FOR ZC = 0 TO 12: PRINT M$(ZC): NEXT : PRINT M$(ZC);
  112. 48030  GOSUB 38000
  113. 48040  IF KB = 32  THEN  GOSUB 48100: GOSUB 48100:KB = 0
  114. 48042  IF KB = 8  THEN  GOSUB 32000:KB = 0
  115. 48044  IF KB = 21  THEN  GOSUB 33000:KB = 0
  116. 48050  IF KB = 13  THEN KB = 0: ON RS GOSUB 47000: GOTO 48090
  117. 48055  IF KB = 72  THEN  GOSUB 48400:KB = 0: GOTO 48020
  118. 48060  IF KB  THEN SC =   NOT SC: ON SC +1 GOSUB 36000,35000
  119. 48070  GOTO 48030
  120. 48090  RETURN 
  121. 48100  IF SC  THEN  IF ZC >12  THEN  CALL SC%(1): VTAB 5: HTAB 1:ZC = ZC -1:BC = 0: IF ZC >12  THEN  PRINT M$(ZC -13);: GOTO 48130
  122. 48110  IF   NOT SC  THEN  IF ZC <CM  THEN  CALL SC%(0): VTAB 18:ZC = ZC +1:BC = 0: HTAB 1: PRINT M$(ZC);: GOTO 48130
  123. 48120  GOSUB 20000
  124. 48130  RETURN 
  125. 48399  REM  <CTRL-J>HARDCOPY<CTRL-J>
  126. 48400  HOME : PRINT  TAB( 16);"HARDCOPY": PRINT "TURN ON THE PRINTER AND PRESS <RETURN>": GET K$: IF K$ < > CHR$(13)  THEN 48430
  127. 48405  PRINT : PRINT  CHR$(4)"PR#1"
  128. 48410  FOR CH = 0 TO CM: PRINT M$(CH): NEXT 
  129. 48420  PRINT  CHR$(4)"PR#0"
  130. 48430  RETURN 
  131. 48999  REM  <CTRL-J>CLEAR CATEGORY<CTRL-K><CTRL-J>
  132. 49000  VTAB 3: HTAB 11: PRINT  SPC( 17);: RETURN 
  133. 49999  DATA  "","","","","","","","","","","",""
  134. 50000  DATA "FLEXIBLE AMORTIZATION","RUNFLEX-AMORT","HOME & BUSINESS"
  135. 50001  DATA "FAMILY BUDGET","RUN FAMILY BUDGET","HOME & BUSINESS"
  136. 50002  DATA "CHARGE","RUNCHARGE","EDUCATIONAL"
  137. 50003  DATA  "LANGUAGE FLASH CARDS","RUNADD FLASH CARDS DOC","EDUCATIONAL"
  138. 50004  DATA "DUNGEON OF ARBEGLA","RUNDUNGEON OF ARBEGLA","EDUCATIONAL"
  139. 50005  DATA "KILLER BAT","RUNKILLER.BAT","GAME"
  140. 50006  DATA "BLACKJACK","RUNBLACKJACK","GAME"
  141. 50007  DATA "RAT MAZE","RUNRAT MAZE","GAME"
  142. 50008  DATA "NIM","RUNNIM","GAME"
  143. 50009  DATA "DISPLAY VARIABLES","RUNDISPLAY VARIABLES","UTILITY"
  144. 50010  DATA "HI-RES IMAGE MOVER","RUNHIRES IMAGE MOVER","UTILITY"
  145. 50011  DATA "AUTO PROGRAM","RUNAUTO PROGRAM","UTILITY"
  146. 63999  DATA END,END,END